package com.crl.gen.service;

import com.cars.util.list.ListUtils;
import com.crl.gen.dao.GenConfigDao;
import com.crl.gen.dto.GenConfigDTO;
import com.crl.gen.model.GenConfig;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;

/**
 * @description:
 * @author: 孔垂云
 * @version: 1.0
 * @date: 2020/7/22 23:01
 */
@Service
public class GenConfigService {
    @Autowired
    private GenConfigDao genConfigDao;

    /**
     * 增加代码生成配置
     *
     * @param genConfigDTO
     * @return
     */
    public int add(GenConfigDTO genConfigDTO) {
        GenConfig genConfig = new GenConfig();
        BeanUtils.copyProperties(genConfigDTO, genConfig);
        return genConfigDao.add(genConfig);
    }

    /**
     * 修改代码生成配置
     *
     * @param genConfigDTO
     * @return
     */
    public int update(GenConfigDTO genConfigDTO) {
        GenConfig genConfig = new GenConfig();
        BeanUtils.copyProperties(genConfigDTO, genConfig);
        return genConfigDao.update(genConfig);
    }

    /**
     * 删除代码生成配置
     *
     * @param id
     * @return
     */
    public int delete(int id) {
        return genConfigDao.delete(id);
    }


    /**
     * 代码生成配置列表
     *
     * @return
     */
    public List<GenConfigDTO> list() {
        List<GenConfig> list = genConfigDao.list();
        List<GenConfigDTO> listResult = ListUtils.copyList(list, GenConfigDTO.class);
        return listResult;
    }


    /**
     * 获取单个代码生成配置
     *
     * @param id
     * @return
     */
    public GenConfigDTO get(int id) {
        GenConfig genConfig = genConfigDao.get(id);
        GenConfigDTO genConfigDTO = new GenConfigDTO();
        BeanUtils.copyProperties(genConfig, genConfigDTO);
        return genConfigDTO;
    }

}
